In Object Oriented Programming, data objects can be defined to have both data elements and methods of behavior. In some programming languages, objects can also have properties, which are an integration of data and method. Properties can be read from or written to like a data element but those reads and writes are translated to an underlying set of methods that are used to access (e.g., get, set, compute, transform, etc.) the property values. The properties can be bound to other properties, such that a change in one property is reflected in a different property.
In some languages, nested properties are supported, in which one property can contain other properties, or can contain an object that can include additional properties. Object property management can quickly become complex in nested property scenarios in which the value of one property can be defined by multiple other properties, such that setting one property can lead to a cascade of changes throughout a set of properties that are dependent upon the changed property. Current object property systems provided by programming languages and application frameworks attempt to manage this complexity via a variety of techniques. However, the current system may not be application dataflow aware, in that the system may not account for the direction and hierarchy of the dataflow within the application as designed by the application or the application developer.